package com.lizhongbao.cloud.db.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lizhongbao.cloud.db.domain.dto.TestTableDto;
import com.lizhongbao.cloud.db.domain.eo.TestTable;
import com.lizhongbao.cloud.db.domain.vo.TestTableVo;
import com.lizhongbao.cloud.db.mapper.TestTableMapper;
import com.lizhongbao.cloud.db.service.ITestTableService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author lizhongbao
 * @since 2019-12-17
 */
@Service
public class TestTableServiceImpl extends ServiceImpl<TestTableMapper, TestTable> implements ITestTableService {

    @Override
    public Integer getMaxAge() {
        return baseMapper.getMaxAge();
    }

    @Override
    public IPage<TestTableVo> pageVo(Page<TestTableVo> pageBean, TestTableDto dto) {
        // 不进行 count sql 优化，解决 MP 无法自动优化 SQL 问题，这时候你需要自己查询 count 部分
        // page.setOptimizeCountSql(false);
        // 当 total 为小于 0 或者设置 setSearchCount(false) 分页插件不会进行 count 查询
        // 要点!! 分页返回的对象与传入的对象是同一个
        return baseMapper.pageVo(pageBean, dto);
    }

    @Override
    public IPage<TestTableVo> pageVo(Long page, Long size, TestTableDto dto) {
        Page<TestTableVo> pageBean = new Page<>(page, size);
        return pageVo(pageBean, dto);
    }
}
